<?php 
/**
 * This file is part of workerman.
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the MIT-LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @author walkor<walkor@workerman.net>
 * @copyright walkor<walkor@workerman.net>
 * @link http://www.workerman.net/
 * @license http://www.opensource.org/licenses/mit-license.php MIT License
 */
namespace Server;

/**
 * 属性
 */
class Properties
{
    
    /**
     * 属性列表
     * @var type 
     */
    public static $properties = array(
        //  老鼠
            'rat'=> array(
                'drops'=> array(
                    'flask'=> 40,// 小瓶  HP药剂
                    'burger'=> 10,// 汉堡
                    'firepotion'=> 50 // 火 药剂
                ),
                'hp'=> 25,// 生命
                'armor'=> 1, // 护甲
                'weapon'=> 1 // 伤害
            ),
            // 骷髅
            'skeleton'=> array(
                'drops'=> array(
                    'flask'=> 40,// 药剂
                    'mailarmor'=> 10,//软甲
                    'axe'=> 20,// 斧子
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 110,// 血量
                'armor'=> 2,// 护甲
                'weapon'=> 2// 攻击
            ),
            // 地精 
            'goblin'=> array(
                'drops'=> array(
                    'flask'=> 50,// 药剂
                    'leatherarmor'=> 20,// 皮护甲
                    'axe'=> 10, //斧子
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 90,
                'armor'=> 2,// 护甲
                'weapon'=> 1// 攻击
            ),
            // 食人魔
            'ogre'=> array(
                'drops'=> array(
                    'burger'=> 10,// 汉堡
                    'flask'=> 50,// 药剂
                    'platearmor'=> 20,// 板甲 
                    'morningstar'=> 20,//晨星 武器
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 200,// 血量
                'armor'=> 3, // 护甲
                'weapon'=> 2// 武器
            ),
            // 幽灵
            'spectre'=> array(
                'drops'=> array(
                    'flask'=> 30,// 药剂
                    'redarmor'=> 40,// 红色护甲
                    'redsword'=> 30, // 红色的剑
                    'firepotion'=> 5 // 火药剂
                ),
                'hp'=> 250,// 血量
                'armor'=> 2,// 防具
                'weapon'=> 4// 武器
            ),
            // 死亡骑士
            'deathknight'=> array(
                'drops'=> array(
                    'burger'=> 95,// 汉堡包
                    'firepotion'=> 5 // 火药剂
                ),
                'hp'=> 250,// 血量
                'armor'=> 3,// 防具
                'weapon'=> 3// 武器
            ),
            // 螃蟹
            'crab'=> array(
                'drops'=> array(
                    'flask'=> 50,// 药剂
                    'axe'=> 20,// 斧子
                    'leatherarmor'=> 10, // 皮护甲
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 60,// 血量
                'armor'=> 2, // 防具
                'weapon'=> 1// 武器
            ),
            // 蛇 
            'snake'=> array(
                'drops'=> array(
                    'flask'=> 50, // 药剂
                    'mailarmor'=> 10, // 软护甲
                    'morningstar'=> 10,// 晨星
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 150,// 血量
                'armor'=> 3,// 护甲
                'weapon'=> 2// 武器
            ),
            // 骷髅2 
            'skeleton2'=> array(
                'drops'=> array(
                    'flask'=> 60, // 药剂
                    'platearmor'=> 15,// 板甲 
                    'bluesword'=> 15, // 蓝色的剑
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 200,// 血量
                'armor'=> 3,// 护甲
                'weapon'=> 3// 武器
            ),
            // 眼睛 
            'eye'=> array(
                'drops'=> array(
                    'flask'=> 50, // 药剂
                    'redarmor'=> 20,// 红色护甲
                    'redsword'=> 10,// 红色的剑
                    'firepotion'=> 5// 火药剂
                ),
                'hp'=> 200,// 血量
                'armor'=> 3,// 护甲
                'weapon'=> 3// 武器
            ),
            // 蝙蝠
            'bat'=> array(
                'drops'=> array(
                    'flask'=> 50,// 药剂
                    'axe'=> 10,// 斧子
                    'firepotion'=> 5 // 火药剂
                ),
                'hp'=> 80,// 血量
                'armor'=> 2, // 护甲
                'weapon'=> 1// 血量
            ),
            // 男巫
            'wizard'=> array(
                'drops'=> array(
                    'flask'=> 50,// 药剂
                    'platearmor'=> 20,// 搬家
                    'firepotion'=> 5
                ),
                'hp'=> 100, //血量
                'armor'=> 2,//护甲
                'weapon'=> 6 // 武器
            ),
            // 首领
            'boss'=> array(
                'drops'=> array(
                    'goldensword'=> 100 //金色的剑
                ),
                'hp'=> 700,// 血量
                'armor'=> 6,// 护甲
                'weapon'=> 7 //武器
            )
     );
    
    /**
     * 获取护甲等级
     * @param type $kind
     * @return type
     */
    public static function getArmorLevel($kind)
    {
        if(Types::isMob($kind))
        {
            return self::$properties[Types::getKindAsString($kind)]['armor'];
        }
        return Types::getArmorRank($kind)+1;
    }
    
    public static function getWeaponLevel($kind)
    {
        if(Types::isMob($kind))
        {
            return self::$properties[Types::getKindAsString($kind)]['weapon'];
        }
        return Types::getWeaponRank($kind)+1;
    }
    
    public static function getHitPoints($kind)
    {
        return self::$properties[Types::getKindAsString($kind)]['hp'];
    }
}

